package com.sky.rabc.mapper;

import com.sky.rabc.dto.BackUserLoginDTO;
import com.sky.rabc.dto.UpdateBackUserDTO;
import com.sky.rabc.entity.BackUser;
import com.sky.rabc.po.LoginInfoPO;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

@Repository
public interface BackUserMapper {
    /**
     * 新增后台用户
     *
     * @param backUser 后台用户实体类
     * @return 受影响行数
     */
    @Transactional
    int addNew(BackUser backUser);

    /**
     * 查询账户是否存在
     *
     * @param account 账号(String)
     * @return 存在的数量
     */
    Long countByAccount(String account);

    /**
     * 查询账户是否存在
     * @param backUserLoginDTO 用户登录信息
     * @return 存在的数量
     */
    Long countUser(BackUserLoginDTO backUserLoginDTO);
    Long countUserById(Long userId);

    LoginInfoPO getLonginInfo(String account);
    @Transactional
    int delUserById(Long id);

    @Transactional
    int update(UpdateBackUserDTO updateBackUserDTO);

    String getAccountById(Long id);

}
